	8 .	Le fichier .DEF



Ce fichier est le plus important bien qu'aussi le plus petit. Il dfinit 
quels vnements et quels modules vous allez utiliser dans votre projet. 
Si votre cahier des charges est bien prpar, vous devez l'diter en dbut 
de projet puis ne plus y toucher par la suite.
Ces options sont des options de compilation. Elles influent donc direc-
tement sur la taille de votre code gnr, alors choisissez les bien. Par 
consquent, une application destine  fonctionner indiffremment en 
tant qu'accessoire ou en tant que programme, et qui possde une barre de 
menu lorsqu'il est excut en programme, devra tre assemble avec l'op-
tion MDL_MENU.


	8.1 Les dfinitions possibles


GWVA_APP_OBJECT_STACK_SIZE = 1024
GWVA_MAX_PATH_LENGTH = 128

GWVA_APP_DEP_LIB_VERSION = 4
GWVA_APP_DEP_LIB_MAJOR = 0
GWVA_APP_DEP_LIB_MINOR = 35

MDL_TOS	; |
MDL_GEM	; | exclusif

MDL_RELOCATE_RSC

MDL_EVENTS

MDL_MENU

MDL_WIND
GWVA_APP_OBJ_MAX_NUMBER_WIND = 8

MDL_WIND_CUSTOM
MDL_WIND_TEXT
MDL_WIND_FORM
FORM_OBJ_PROGRESS
FORM_OBJ_SLIDER

MDL_WIND_BITMAP

LIB_FILESELECTOR
LIB_FORMULARY

LIB_HEXA
LIB_DECI
LIB_TIME_DATE

LIB_GET_FLENGTH
LIB_LOAD_FILE_IN_MEM
LIB_RECURSIVE_FILE_SEARCH

FLG_INIBE_COLOR
LIB_PALETTE

LIB_RS232
LIB_200HZ

LIB_XBRA

LIB_XHDI
LIB_XHDI_INFOPARTITION
LIB_XHDI_GETVERSION
LIB_XHDI_INQTARGET
LIB_XHDI_STOP
LIB_XHDI_READWRITE
LIB_XHDI_INQDEV2
LIB_XHDI_GETCAPACITY
LIB_XHDI_LASTACCESS


	8.2 Choisir ses modules


Certaines variables doivent absolument tre dfinies, elles sont :
. GWVA_APP_OBJECT_STACK_SIZE	: la taille de la pile
. GWVA_MAX_PATH_LENGTH		: la longueur 
maximum d'un pathname (chemin+nom)
. GWVA_APP_DEP_LIB_VERSION 		: la version des li-
brairies Visual avec lesquelles vous tes compatible. Si ce num-
ro est diffrent de celui du Visual, votre application est incom-
patible !
. GWVA_APP_DEP_LIB_MAJOR 		: la sous-version 
majeure des librairies Visual avec lesquelles vous tes compati-
ble, si diffrente : incompatibilit mineure qui devra tre rgle 
en consultant le fichier VISUAL40\MISC\VISUAL40.NEW
. GWVA_APP_DEP_LIB_MINOR 		: la sous-version 
mineure des librairies Visual avec lesquelles vous tes compati-
ble, si diffrente alors votre compilation  s'excutera quand m-
me. Lisez le fichier VISUAL40\MISC\VISUAL40.NEW malgr 
tout.

Vous devez dire si votre programme utilise les vnements GEM 
ou non :
MDL_TOS	: si pas d'affichage/vnement GEM
MDL_GEM	: 100 % GEM

Dans le cas o vous avez MDL_GEM, indiquez en plus :
. MDL_RELOCATE_RSC si vous voulez inclure votre ressour-
ce directement dans votre programme et le reloger ensuite pour 
pouvoir l'utiliser.

. MDL_EVENTS si vous voulez grer les vnements 
(AC_CLOSE, AP_TERM, les redraws ...) ;  priori c'est oui, 
sauf dans le cas o votre programme n'est qu'une suite de botes 
premptives.

. MDL_MENU si vous voulez recevoir des messages 
MNU_SELECTED ;  mettre en principe si vous avez un ar-
bre de menu.

. MDL_WIND si vous envisagez d'avoir au moins une fentre !
. GWVA_APP_OBJ_MAX_NUMBER_WIND dfinit le nom-
bre maximum de fentres cr simultanment. Si votre applica-
tion ne peut en crer que 4 au maximum, mettez 4. Pour une ap-
plication multi-documents, mettez 256 au moins.

Dans le cas o vous avez MDL_WIND, indiquez en plus au moins 
un de ces modules :
. MDL_WIND_CUSTOM		: si vous dsirez des fentres 
custom (sans redraw gr par le V.A.)
. MDL_WIND_TEXT 		: si vous voulez des fentres 
textes
. MDL_WIND_FORM		: si vous voulez des fentres 
contenant des formulaires.
. MDL_WIND_BITMAP		: si vous voulez des fentres 
contenant du bitmap brut.

Dans le cas o vous avez MDL_WIND_FORM, vous pouvez met-
tre en plus :
. FORM_OBJ_PROGRESS	: pour profiter des objets "bar-
re de progression"  gestion automatique.
. FORM_OBJ_SLIDER		: pour profiter des objets slider 
avec une gestion automatique des dplacements.


	8.3 Choisir ses librairies


Vous avez une plthore de librairies incorporant toutes les fonctions 
utiles que l'on rencontre dans les programmes classiques, plus d'autres 
originales. Utilisez-les au maximum pour vous dfaire des contraintes 
annexes de programmation et pour vous concentrer sur votre programme.

. LIB_FILESELECTOR		: librairie permettant de grer 
facilement le slecteur de fichier.
. LIB_FORMULARY			: librairie permettant de grer 
des formulaires premptifs.
. LIB_HEXA				: librairie permettant de con-
vertir un registre en chane hexa ou l'inverse en sign !
. LIB_DECI				: librairie permettant de con-
vertir un registre en chane dcimale ou l'inverse en sign, utile 
pour rcuprer les champs numriques de votre formulaire !
. LIB_TIME_DATE			: librairie permettant d'avoir la 
date/l'heure courante en chane ASCII formate.
. LIB_GET_FLENGTH			: librairie permettant de con-
natre la taille d'un fichier en un seul appel.
.LIB_LOAD_FILE_IN_MEM	: librairie permettant de char-
ger un fichier en mmoire ; l'allocation est automatique et on vous 
retourne le pointeur !
. LIB_RECURSIVE_FILE_SEARCH	: librairie permettant de 
faire une recherche rcursive de fichier selon un masque (ex.: 
*.BAK) et de faire un traitement particulier pour chaque fichier 
rencontr (ex..: F_DELETE)
. FLG_INIBE_COLOR			: flag permettant de dsactiver 
les macros color et color256.
. LIB_PALETTE				: librairie permettant d'avoir 
une sauvegarde automatique des couleurs.
. LIB_RS232				: librairie permettant de grer 
facilement le port srie/midi de votre machine.
. LIB_200HZ				: librairie permettant de se ser-
vir du compteur 200Hz.
. LIB_XBRA				: librairie permettant de cher-
cher/d'insrer/d'enlever un vecteur XBRA le plus simplement du 
monde
. LIB_XHDI				: librairie permettant de faire 
des appels  un driver XHDI ventuellement prsent.
. LIB_XHDI_GETVERSION	; ce sont les dfinitions des 
routines
. LIB_XHDI_INFOPARTITION	; XHDI qui vous intressent.
. LIB_XHDI_INQTARGET
. LIB_XHDI_STOP
. LIB_XHDI_READWRITE
. LIB_XHDI_INQDEV2
. LIB_XHDI_GETCAPACITY
. LIB_XHDI_LASTACCESS
